﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DataTransferObjects;
using Business;

namespace GraphicUserInterface.NewAccount
{
    public partial class frNewAccount : Form
    {

        public frNewAccount()
        {
            InitializeComponent();
        }


        //Kiểm tra thông tin
        private bool IsEnoughInfor()
        {
            bool bIsEnough = true;
            string strMessages = "";
            int iPhone = 0;

            //Kiểm tra thông tin email
            if (tbEmail.Text.Length == 0 || tbEmail.Text.Contains('@') == false)
            {
                bIsEnough = false;
                strMessages = strMessages + "Vui lòng nhập địa chỉ email.\n";
            }

            //Kiểm tra thông tin họ tên
            tbName.Text.Trim();
            if (tbName.Text.Length == 0)
            {
                bIsEnough = false;
                strMessages = strMessages + "Vui lòng nhập họ tên người dùng.\n";
            }

            //Kiểm tra thông tin đt            
            tbPhone.Text.Trim();
            if (tbPhone.Text.Length != 0)
            {
                try
                {
                    iPhone = int.Parse(tbPhone.Text);
                }
                catch (System.Exception ex)
                {
                    bIsEnough = false;
                    strMessages = strMessages + "Vui lòng kiểm tra lại số điện thoại bạn đã nhập.\n";
                }
            }
            else
            {
                bIsEnough = false;
                strMessages = strMessages + "Vui lòng nhập số điện thoại.\n";
            }

            //Kiểm tra thông tin địa chỉ
            tbAddress.Text.Trim();
            if (tbAddress.Text.Length == 0)
            {
                bIsEnough = false;
                strMessages = strMessages + "Vui lòng nhập thông tin địa chỉ.\n";
            }

            if(strMessages.Length != 0)
                MessageBox.Show(strMessages);

            return bIsEnough;
        }

        private void btCreateNewAccount_Click(object sender, EventArgs e)
        {
            //Tạo thông tin tài khoản, lưu dữ liệu, nhớ kiểm tra các diều kiện.
            if(MessageBox.Show("Bạn chắc chắn về thông tin đã nhập?", "?", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                if (IsEnoughInfor())
                {
                    return;
                }

                AccountInforDTO accountInfor = new AccountInforDTO(-1, tbName.Text, dtBirthday.Value, tbPhone.Text, tbAddress.Text, tbEmail.Text);

                //Chuyển dữ liệu người dùng xuống tầng business
                AccountBUS.RegNewAccount(accountInfor);

                //Chuyển đến form tạo khóa, form tạo khóa lưu dữ liệu về khóa
                frCreateKey FormCreateKey = new frCreateKey(true, -1);
                this.AddOwnedForm(FormCreateKey);
                FormCreateKey.Owner = this;
                FormCreateKey.Show();
                this.Hide();
            }
        }

        private void btBack_Click(object sender, EventArgs e)
        {
            this.Owner.Show();
            this.Close();
        }
    }
}
